Файл: Test2HTML.txt

Дата: 10.04.2014

1: * Генерация теста на знание грамматики английского языка в виде страницы HTML 
2: * Программа КОНЦЕПТ, 26.01.2011, www.gendoc.ru
3:
4: присвоить ВЕРСИЯ_ШАБЛОНА 1.0
5: присвоить КВ_ОТКР '[' КВ_ЗАКР ']'
6: присвоить ТЕСТЫ "[$ТекущийКаталог]Tests-db.txt"
7:
8: если (файл существует $результат [ТЕСТЫ] )
9:   данные загрузить [ТЕСТЫ]
10: иначе
11:   показать сообщение "Не найден файл с тестами [ТЕСТЫ]."
12:   стоп
13: конец
14:
15: присвоить НОМЕР_ТЕСТА 1
16: факт сопоставитьСПервым ок "r;t;[НОМЕР_ТЕСТА];[?КОЛИЧЕСТВО_ВОПРОСОВ];[?ОПИСАНИЕ_ТЕСТА]"
17:
18: присвоить ФАЙЛ_РЕЗУЛЬТАТ "[$ТекущийКаталог]_Test_[НОМЕР_ТЕСТА]_.htm"
19: файл писать [ФАЙЛ_РЕЗУЛЬТАТ]
20:
21: ****** Заголовок страницы HTML ******
22:
23: ><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
24: ><html><head>
25: ><meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
26: ><LINK href="concept.css" rel="stylesheet" type="text/css">
27: ><title>Тест</title>
28: ><SCRIPT language="JavaScript">
29:
30: ****** Инициализация формы-теста ******
31:
32: >function ClearForm() {document.form1.reset();}
33:
34: ****** Проверка ответов и определение результата теста ******
35:
36: >function CheckForm() {
37: >  var s='',BAL=0;
38:
39: * Вычисление значений переменных теста
40: для текущий_номер_вопроса (список сгенерить $результат 1 [КОЛИЧЕСТВО_ВОПРОСОВ] )
41:   факт сопоставитьМножество варианты_ответов "r;v;[НОМЕР_ТЕСТА];[текущий_номер_вопроса];[?X];[?]"
42:   для [варианты_ответов]
43:     факт сопоставитьСПервым ок "r;v;[НОМЕР_ТЕСТА];[текущий_номер_вопроса];[$ОбъектЦикла];[?формула]"
44:     если [формула]
45:       список сопоставить ок [формула] "[?переменная];[?значение]"
46:       если [ок]  
47:         вычислить - номер_итерации [$НомерИтерации] 1
48:         >  if (document.form1.q[текущий_номер_вопроса][КВ_ОТКР][номер_итерации][КВ_ЗАКР].checked) [переменная]=[переменная]+([значение]);
49:       конец
50:     конец
51:   следующий
52: следующий
53:
54: * Определение результата теста
55: >  alert('Вы набрали '+BAL+' баллов.');
56:   факт сопоставить факты "r;r;[НОМЕР_ТЕСТА];[?];[?];[?];[?]"
57:   для [факты]
58:     факт взять факт [$ОбъектЦикла]
59:     список сопоставить ок [факт] "r;r;[НОМЕР_ТЕСТА];[?переменная];[?мин];[?макс];[?текст]"  
60:     >  if ([переменная]>=[мин]) if ([переменная]<=[макс]) {alert('[текст]');return;};
61:   следующий
62: >}
63:
64: ****** Конец заголовка и начало тела HTML страницы ******
65:
66: ></SCRIPT>
67: ></head><body class="View">
68: ><h1>Тест N [НОМЕР_ТЕСТА][ОПИСАНИЕ_ТЕСТА] [КОЛИЧЕСТВО_ВОПРОСОВ] вопросов.</h1>
69: ><form name="form1" method="post" action="">
70:
71: для (список сгенерить $результат 1 [КОЛИЧЕСТВО_ВОПРОСОВ] )
72:   Вопрос_теста [$ОбъектЦикла]
73: следующий
74:
75: функция Вопрос_теста текущий_номер_вопроса
76: память локальный вопрос варианты_ответов
77:   факт сопоставитьМножество вопрос "r;q;[НОМЕР_ТЕСТА];[текущий_номер_вопроса];[?X]"
78:   если [вопрос]
79:     ><p>[текущий_номер_вопроса]/[КОЛИЧЕСТВО_ВОПРОСОВ][вопрос]
80:     факт сопоставитьМножество варианты_ответов "r;v;[НОМЕР_ТЕСТА];[текущий_номер_вопроса];[?X];[?]"
81:     для [варианты_ответов]
82:       ><br><input name="q[текущий_номер_вопроса]" type="radio" value="[$НомерИтерации]"> [$ОбъектЦикла]
83:     следующий
84:     ></p>
85:   иначе
86:     ><p></b>ОШИБКА:</b> Вопрос N [текущий_номер_вопроса] не найден.</p>      
87:   конец
88: возврат
89:
90: ****** Конец формы и HTML страницы ******
91:
92: ><br><p align=center>
93: ><input type="button" value="Очистить" onClick="ClearForm()">
94: ><input type="button" value="Выполнить" onClick="CheckForm()">
95: ></form>
96: ><p><hr><font size="-1">Дата генерации: [$Сегодня] Версия шаблона: [ВЕРСИЯ_ШАБЛОНА]</font></p>
97: ></body></html>
98:
99: файл конецЗаписи
100: показать html [ФАЙЛ_РЕЗУЛЬТАТ]